package com.shrct.businessprocess.project;

import com.shrct.businessprocess.project.RCProject;
import com.shrct.businessprocess.project.RCProjectProcessEvent;
import com.shrct.businessprocess.project.RCProjectProcessEventStatus;
import com.shrct.businessprocess.project.impl.RCProjectProcessEventCriteriaImpl;
import edu.fudan.langlab.domain.security.User;
import edu.fudan.mylang.pf.query.IPagedCriteria;
import edu.fudan.mylang.pf.query.QueryImplementation;
import java.util.Date;

@QueryImplementation(implementBy = RCProjectProcessEventCriteriaImpl.class)
public interface RCProjectProcessEventCriteria extends IPagedCriteria<RCProjectProcessEvent> {
  public abstract RCProjectProcessEventStatus getStatus();
  
  public abstract RCProjectProcessEventCriteria setStatus(final RCProjectProcessEventStatus status);
  
  public abstract Date getStartDateFrom();
  
  public abstract RCProjectProcessEventCriteria setStartDateFrom(final Date startDateFrom);
  
  public abstract Date getStartDateTo();
  
  public abstract RCProjectProcessEventCriteria setStartDateTo(final Date startDateTo);
  
  public abstract RCProject getProject();
  
  public abstract RCProjectProcessEventCriteria setProject(final RCProject project);
  
  public abstract User getExecuter();
  
  public abstract RCProjectProcessEventCriteria setExecuter(final User executer);
  
  public abstract Boolean getIsFinished();
  
  public abstract RCProjectProcessEventCriteria setIsFinished(final Boolean isFinished);
}
